5647b4f4c2e5571127021bbdf92f09b0bdeff9de,SimpleNewsProject/SimpleNews/src/main/java/de/dala/simplenews/ui/CategoryFeedsFragment.java,CategoryFeedsFragment,createFeedClicked,#,201

Before Change



    private void createFeedClicked(){
            final EditText input = new EditText(getActivity());
            DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() {

                @Override
                public void onClick(DialogInterface dialog, int which) {
                    switch (which){
                        case DialogInterface.BUTTON_POSITIVE:
                            String feedUrl = input.getText().toString(); //TODO validate
                            Feed feed = new Feed();
                            feed.setCategoryId(category.getId());
                            feed.setUrl(feedUrl); //TODO check if valid
                            long id = DatabaseHandler.getInstance().addFeed(category.getId(), feed, true);
                            feed.setId(id);
                            adapter.add(feed);
                            adapter.notifyDataSetChanged();
                            break;
                        case DialogInterface.BUTTON_NEGATIVE:
                            break;
                    }
                }
            };

            new AlertDialog.Builder(getActivity()).
                    setPositiveButton("Ok", dialogClickListener).setNegativeButton("Cancel", dialogClickListener).setTitle(getActivity().getString(R.string.create_category_1_2))
                    .setMessage("New Feed Url:").setView(input).show();
    }

    private void editClicked(final Feed feed) {

After Change


        final Button negative = (Button) inputLayout.findViewById(R.id.negative);
        final EditText input = (EditText) inputLayout.findViewById(R.id.input);

        final AlertDialog dialog = new AlertDialog.Builder(getActivity()).setView(view).setTitle(R.string.new_feed_url_header).create();

        View.OnClickListener dialogClickListener = new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                switch (v.getId()){
                    case R.id.positive:
                        String feedUrl = input.getText().toString().toLowerCase();
                        if (!feedUrl.startsWith("http://")){
                            feedUrl = "http://" + feedUrl;
                        }
                        final String formattedFeedUrl = feedUrl;

                        if (UIUtils.isValideUrl(feedUrl)){
                            crossfade(progress, inputLayout);

                            NetworkCommunication.loadRSSFeed(feedUrl, new Response.Listener<String>() {
                                        @Override
                                        public void onResponse(String result) {
                                            try {
                                                RSSFeed rssFeed = new RSSParser(new RSSConfig()).parse(new ByteArrayInputStream(result.getBytes("UTF-8")));
                                                if (rssFeed.getItems() == null || rssFeed.getItems().isEmpty()){
                                                    invalidFeedUrl(true);
                                                }else{
                                                    Feed feed = new Feed();
                                                    feed.setCategoryId(category.getId());
                                                    feed.setUrl(formattedFeedUrl); //TODO check if valid
                                                    long id = DatabaseHandler.getInstance().addFeed(category.getId(), feed, true);
                                                    feed.setId(id);
                                                    adapter.add(feed);
                                                    adapter.notifyDataSetChanged();
                                                    dialog.dismiss();
                                                }
                                            } catch (RSSFault ex){
                                                ex.printStackTrace();
                                                invalidFeedUrl(true);
                                            } catch (UnsupportedEncodingException e) {
                                                e.printStackTrace();
                                                invalidFeedUrl(true);
                                            }
                                        }


                                    }, new Response.ErrorListener() {
                                        @Override
                                        public void onErrorResponse(VolleyError volleyError) {
                                            invalidFeedUrl(true);
                                        }
                                    });
                        }else{
                            invalidFeedUrl(false);
                        }
                        break;
                    case R.id.negative:
                        dialog.dismiss();
                        break;
                }
            }
            private void invalidFeedUrl(final boolean hideProgressBar) {
                Animation shake = AnimationUtils.loadAnimation(getActivity(),
                        R.anim.shake);
                view.startAnimation(shake);
                shake.setAnimationListener(new Animation.AnimationListener() {
                    @Override
                    public void onAnimationStart(Animation animation) {}

                    @Override
                    public void onAnimationEnd(Animation animation) {
                        if (hideProgressBar){
                            crossfade(inputLayout, progress);
                            Crouton.makeText(getActivity(),getActivity().getString(R.string.not_valid_format), Style.ALERT, inputLayout).show();
                        }
                    }

                    @Override
                    public void onAnimationRepeat(Animation animation) {}
                });
            }
        };

        positive.setOnClickListener(dialogClickListener);
        negative.setOnClickListener(dialogClickListener);

        dialog.show();
    }